/**
 * 检测当前的小程序
 * 是否是最新版本，是否需要下载、更新
 */
export function checkUpdateVersion() {
	//判断微信版本是否 兼容小程序更新机制API的使用
	if (wx.canIUse('getUpdateManager')) {
		//创建 UpdateManager 实例
		const updateManager = wx.getUpdateManager();
		//检测版本更新
		updateManager.onCheckForUpdate(function(res) {
			// 请求完新版本信息的回调
			console.log('hasUpdate: ' + res.hasUpdate)
			if (res.hasUpdate) {
				//监听小程序有版本更新事件
				updateManager.onUpdateReady(function() {
					//TODO 新的版本已经下载好，调用 applyUpdate 应用新版本并重启 （ 此处进行了自动更新操作）
					updateManager.applyUpdate();
				})
				updateManager.onUpdateFailed(function() {
					// 新版本下载失败
					wx.showModal({
						title: '已经有新版本喽~',
						content: '请您删除当前小程序，到微信 “发现-小程序” 页，重新搜索打开哦~',
					})
				})
			}
		})
	} else {
		//TODO 此时微信版本太低（一般而言版本都是支持的）
		wx.showModal({
			title: '溫馨提示',
			content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
		})
	}
}

export function dealPrice(v, n) {
	if (v) {
		if (n == 1) {
			let vIndex = v.indexOf('.')
			return vIndex > -1 ? v.substring(0, vIndex) : v
		} else if (n == 2) {
			let vIndex = v.indexOf('.')
			return vIndex > -1 ? v.substring(vIndex, v.length) : '.00'
		}
	}
}
/**
 * 
 * @param {*} 复制粘贴 
 * @returns 
 */
export function uniCopy({
	content,
	success,
	error
}) {
	if (!content) return error('复制的内容不能为空 !')
	content = typeof content === 'string' ? content : content.toString() // 复制内容，必须字符串，数字需要转换为字符串
	/**
	 * 小程序端 和 app端的复制逻辑
	 */
	//#ifndef H5
	uni.setClipboardData({
		data: content,
		success: function() {
			success("复制成功~")
			console.log('success');
		},
		fail: function() {
			success("复制失败~")
		}
	});
	//#endif
}

export function getTimeAgo(dateTime) {
	if(!dateTime){
		return '123'
	}
			const dateObj = new Date(dateTime.replace(/-/g, '/'));
			let diff = new Date().getTime() - dateObj.getTime();
			const secondsInDiff = Math.floor(diff / 1000);
			const minutesInDiff = Math.floor(secondsInDiff / 60);
			const hoursInDiff = Math.floor(minutesInDiff / 60);
			const daysInDiff = Math.floor(hoursInDiff / 24);
			const monthsInDiff = Math.floor(daysInDiff / 30);
			const yearsInDiff = Math.floor(monthsInDiff / 12); 
		
			if (yearsInDiff >= 1) return `${yearsInDiff} 年前`;
			if (monthsInDiff >= 1) return `${monthsInDiff} 个月前`;
			if (daysInDiff >= 1) return `${daysInDiff} 天前`;
			if (hoursInDiff >= 1) return `${hoursInDiff} 小时前`;
			if (minutesInDiff >= 1) return `${minutesInDiff} 分钟前`;
			
			return `${secondsInDiff} 秒前`;
	}

	export function parseQuery(data) {
		const res = {};
		
		const query = (data.split("?")[1] || "")
			.trim()
			.replace(/^(\?|#|&)/, "");
	
		if (!query) {
			return data;
		}
	
		query.split("&").forEach(param => {
			const parts = param.replace(/\+/g, " ").split("=");
			const key = decodeURIComponent(parts.shift());
			const val = parts.length > 0 ? decodeURIComponent(parts.join("=")) : null;
	
			if (res[key] === undefined) {
				res[key] = val;
			} else if (Array.isArray(res[key])) {
				res[key].push(val);
			} else {
				res[key] = [res[key], val];
			}
		});
	
		return res;
	}
	